This invention is related to a method and system for calibrating electronic devices and, more particularly, for generating device calibration information using polynomial curve fitting.
Many types of consumer electronic devices include a microprocessor or other control mechanism for adjusting the operation of various circuit elements in response to input conditions, such as the gain of an output amplifier in response to the strength of a received signal. Because of variations in the actual operating characteristics of various circuit elements introduced by variations in fabrication, the response of these devices to particular inputs must be calibrated in order to assure that separately manufactured devices operate in the same manner.
For example, CDMA cellular telephone system design requirements specify that the signal strength of a transmission from a mobile cellular device as received at a base station have a particular signal strength. Because the received power is dependent on the distance between the base station and a given mobile unit, which distance may change during operation, power adjustments must be made continuously. Further, the power adjustments must be relatively quick and precise. Under the IS-98 cellular standard, for example, mobile units must be able to adjust their output power level over a 24 dB range with a tolerance of +/xe2x88x920. 5 dB within 800 bps.
The distance from the base station can be estimated given the strength of a signal received from the base station and the known power at which the base station is transmitting. However, because feedback about the received signal strength is not generally provided to the mobile units from the base station, each mobile unit must be pre-programmed with the proper transmitter amplifier gain settings across the expected range of input signal strengths. While general response characteristics of the amplifier, such as the absolute gain in response to a control signal of a specific value, can be predicted, the actual response varies from unit to unit because of variances introduced during manufacture. Accordingly, the specific transmit gain settings which must be used by each unit in response to a given received signal strength must be determined during a calibration process and then stored in an internal memory.
In a conventional calibration process, test signals are input to the device and a corresponding response parameter is adjusted until the proper output is achieved. For example, a simulated signal from a base station may be input to a base unit and the transmitter gain adjusted until the proper transmit signal power level is reached. The gain setting is then captured. The process is repeated for a number of other input signal strengths and the results are stored as a look-up table in an EEPROM within the device.
In devices such as cellular telephones, a large number of parameters must be calibrated in this manner. In addition, the same parameter may need to be calibrated under different operating conditions. For example, the gain control settings may need to be calibrated for each combination of possible transmit and receive channels. Accordingly, the total number of calibration data points which must be stored is typically very large and so the number of data points which are stored for a particular parameter under a given set of conditions is relatively limited, generally in the range of 8-16 points.
In operation, conventional devices use the look-up table to determine the proper parameter settings, such as the magnitude of a transmit gain control signal, in response to particular inputs. Because only a limited number of defined calibration points are stored in the look-up table, linear interpolation is generally used to determine a parameter setting. FIG. 1 is a typical graph of a 15 point calibration data look-up table which provides the proper control voltage, Rx_AGC, for an output gain control circuit for a specific received signal strength, RssiA, for a cellular telephone.
In a conventional interpolation system, when the input signal strength does not fall exactly on one of the calibration data points, the two closest points in the lookup table are identified and used to construct a straight line which includes the two points. The dependent value of the control voltage is then determined based on where along the line the input falls. For example, using this method, an input of RssiA =xe2x88x9274 dBm results in a control voltage Rx_AGC of 1.5 mV.
A major drawback to this technique is that the limited number of data points restricts the accuracy of the system. Increasing the number of calibration points is generally not an option due to the large number of parameters and operating conditions for which a device, such as a cellular telephone, must be calibrated. Accuracy is further limited in response regions where the transfer function is substantially non-linear. Although calibration points are generally concentrated in these non-linear areas to compensate for this, this accuracy of the response in the middle region suffers as a result. Similarly, the accuracy of the response outside of the calibration range suffers because the response is typically most non-linear at the ends of the operating range.
Another drawback to this technique is the delay associated with on-the-fly interpolation. Input conditions often change suddenly in response to changes in environmental conditions and a fast response is required. For example, input signal strength can experience a sudden xe2x80x9cdeepxe2x80x9d fade in strength if the mobile unit moves behind an obstacle. The processing required to scan the look-up table to select the proper data points and then interpolate the points to determine the corresponding control voltage signal hampers the real-time performance.
These and other problems are solved with a method and system according to the present invention in which some or all of relevant device parameters are calibrated by pre-processing gathered calibration data points to generate a polynomial equation of a curve which represents a particular parameter""s characteristic response. As many calibration points as are necessary to generate an accurate curve are used. After a curve with the required degree of accuracy has been generated, the particular coefficients for the curve are stored within the device. For may applications, a third-order polynomial provides a sufficient degree of accuracy and thus only four coefficients need to be stored in the device for each calibration sequence. When the calibrated device is subsequently operated, the proper value for a parameter in response to a given input condition is easily and quickly determined by retrieving the appropriate calibration coefficients and then evaluating the polynomial as a function of the input condition. This not only improves the calibration of the device but can provide for increased response speed because the calibration polynomial may require less calculation than conventional extrapolation techniques.